package school.entity;

// 教师子类，继承Person父类
public class Teacher extends Person {
    private Course course; // 教师所授课程

    // 子类构造方法：通过super()调用父类构造方法
    public Teacher(String id, String name, String gender) {
        super(id, name, gender);
    }

    // 设置所授课程
    public void setCourse(Course course) {
        this.course = course;
    }

    // 重写父类业务方法：打印教师授课信息（实现教师专属业务）
    @Override
    public void printWorkSheet() {
        super.printWorkSheet(); // 复用父类基础信息打印逻辑
        if (course != null) {
            System.out.println("教师授课信息：" + course);
        } else {
            System.out.println("教师授课信息：未分配任何课程");
        }
    }

    // 重写toString()方法
    @Override
    public String toString() {
        return "教师[编号=" + id + "，姓名=" + name + "，性别=" + gender + "，所授课程=" + (course != null ? course.getName() : "无") + "]";
    }

    // 提供课程访问接口（供Course类关联）
    public Course getCourse() {
        return course;
    }
}